{ "cells": [ { "cell_type": "markdown", "id": "5fbc2d16-59f9-4be3-b93e-1a5440c7efd0", "metadata": {}, "source": [ "# Tutorial 7 - Adaptive State Transition" ] }, { "cell_type": "markdown", "id": "1afe6a1e-3ab4-4f3f-ad47-f6cd66419504", "metadata": {}, "source": [ "Having tackled three basic types of problems in the previous tutorials, we proceed with a more advanced concept relevant to KANs: grid updates.\n", "\n", "KANs provide the option of gradually increasing the size of the underlying grid as a fine-graining process. More theoretical details on this can be found [here](https://arxiv.org/abs/2404.19756) or [here](https://ieeexplore.ieee.org/document/10763509). In this notebook, we showcase how jaxKAN allows an adaptive state transition, introduced in [Adaptive Training of Grid-Dependent Physics-Informed Kolmogorov-Arnold Networks](https://ieeexplore.ieee.org/document/10763509), for an example of function fitting." ] }, { "cell_type": "code", "execution_count": 1, "id": "0a2ef2a6-f681-427f-8252-ade2111ce0e6", "metadata": {}, "outputs": [], "source": [ "from jaxkan.models.KAN import KAN\n", "from jaxkan.layers.utils import adam_transition\n", "\n", "import jax\n", "import jax.numpy as jnp\n", "\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.metrics import mean_squared_error\n", "\n", "from flax import nnx\n", "import optax\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "import os\n", "os.environ[\"TF_CPP_MIN_LOG_LEVEL\"] = \"2\"" ] }, { "cell_type": "code", "execution_count": null, "id": "d4a00330-554b-4f28-816c-dace106b55a7", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "60e70a5d-0340-4bdc-af4e-150d0098a87e", "metadata": {}, "source": [ "## Data Generation" ] }, { "cell_type": "markdown", "id": "166ad90d-430e-45ca-86a8-e6e4dbc1c943", "metadata": {}, "source": [ "We will attempt to fit the multivariate function\n", "\n", "$$ f(x_1, x_2, x_3, x_4) = \\exp\\left[\\frac{1}{2}\\sin\\left(\\pi x_1^2 + \\pi x_2^2\\right) + \\frac{1}{2}\\sin\\left(\\pi x_3^2 + \\pi x_4^2\\right)\\right] $$\n", "\n", "To this end, we will sample 4000 points from this function in the $[-1,1]^4$ domain to use for training and testing." ] }, { "cell_type": "code", "execution_count": 2, "id": "b986e75a-6d4a-402f-bea7-36d13f4a7866", "metadata": {}, "outputs": [], "source": [ "def f(x1,x2,x3,x4):\n", " return jnp.exp(0.5*jnp.sin((jnp.pi * x1**2) + (jnp.pi * x2**2)) + 0.5*jnp.sin((jnp.pi * x3**2) + (jnp.pi * x4**2)))\n", "\n", "def generate_data(minval=-1, maxval=1, num_samples=1000, seed=42):\n", " key = jax.random.PRNGKey(seed)\n", " x1_key, x2_key, x3_key, x4_key = jax.random.split(key, 4)\n", "\n", " x1 = jax.random.uniform(x1_key, shape=(num_samples,), minval=minval, maxval=maxval)\n", " x2 = jax.random.uniform(x2_key, shape=(num_samples,), minval=minval, maxval=maxval)\n", " x3 = jax.random.uniform(x3_key, shape=(num_samples,), minval=minval, maxval=maxval)\n", " x4 = jax.random.uniform(x4_key, shape=(num_samples,), minval=minval, maxval=maxval)\n", "\n", " y = f(x1, x2, x3, x4).reshape(-1, 1)\n", " X = jnp.stack([x1, x2, x3, x4], axis=1)\n", " \n", " return X, y" ] }, { "cell_type": "code", "execution_count": 3, "id": "db8bf4bc-49fe-4014-94aa-4e5dbf632369", "metadata": {}, "outputs": [], "source": [ "seed = 42\n", "\n", "X, y = generate_data(minval=-1, maxval=1, num_samples=4000, seed=seed)" ] }, { "cell_type": "code", "execution_count": null, "id": "9f6b37e2-99c3-49b6-a1e5-07ec1961d2c5", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "485197f9-2e41-481e-a2cd-977452622ff3", "metadata": {}, "source": [ "## Preprocessing" ] }, { "cell_type": "markdown", "id": "c26fac97-6716-47ff-b8db-824df7c6aae2", "metadata": {}, "source": [ "We split the data into train/test sets." ] }, { "cell_type": "code", "execution_count": 4, "id": "ad91a42a-ffe8-4b8c-b1a7-cc9b60dfe5c0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training set size: (3200, 4)\n", "Test set size: (800, 4)\n" ] } ], "source": [ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=seed)\n", "\n", "print(\"Training set size:\", X_train.shape)\n", "print(\"Test set size:\", X_test.shape)" ] }, { "cell_type": "code", "execution_count": null, "id": "58b2f6ae-c156-4dd8-bbe2-444c96221f2a", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "4e9d9bba-71e2-4d5b-95b1-36167fb70c1a", "metadata": {}, "source": [ "## KAN Model" ] }, { "cell_type": "markdown", "id": "2fd54c6c-3d28-4864-af38-3b22875d0f0a", "metadata": {}, "source": [ "To showcase the adaptive state transition, we will use the Base KAN Layer, which corresponds to the original implementation of KANs using B-Splines. For more details about the required parameters of this type of layer, refer to the API Documentation." ] }, { "cell_type": "code", "execution_count": 5, "id": "b350b56f-5daa-411f-9090-b544760c34ef", "metadata": {}, "outputs": [], "source": [ "# Initialize a KAN model\n", "n_in = X_train.shape[1]\n", "n_out = y_train.shape[1]\n", "n_hidden = 10\n", "\n", "layer_dims = [n_in, n_hidden, n_out]\n", "\n", "req_params = {'k': 3, 'G': 3, 'grid_e': 0.02}\n", "\n", "model = KAN(layer_dims = layer_dims,\n", " layer_type = 'base',\n", " required_parameters = req_params,\n", " seed = seed\n", " )" ] }, { "cell_type": "code", "execution_count": null, "id": "3c021085-bc10-4411-ba55-25aaf7473cb0", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "f681d135-c885-4e59-87d7-1ea16a157c50", "metadata": {}, "source": [ "## Training" ] }, { "cell_type": "markdown", "id": "9d13db44-addd-498f-b9b3-592f2df78643", "metadata": {}, "source": [ "The model will be trained for a total of 700 epochs with a constant learning rate of 0.03, starting with a grid of size $G = 3$. The grid will be extended to sizes $G \\to 6 \\to 10 \\to 24$ during epochs 200, 400 and 600, respectively." ] }, { "cell_type": "code", "execution_count": 6, "id": "36aad19f-0067-4a4d-8243-7e704e4533b1", "metadata": {}, "outputs": [], "source": [ "opt_type = optax.adam(learning_rate=0.03)\n", "\n", "optimizer = nnx.Optimizer(model, opt_type, wrt=nnx.Param)\n", "\n", "grid_upds = {0 : 3, 200 : 6, 400 : 10, 600 : 24}" ] }, { "cell_type": "code", "execution_count": null, "id": "c85aff0f-73ff-4224-ad2a-fe8a133ee21f", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "f01566cd-055c-40a7-acdd-94ac192a0bcb", "metadata": {}, "source": [ "### Without Adaptive State Transition" ] }, { "cell_type": "markdown", "id": "9044aebb-696d-42df-956f-9aa94078588c", "metadata": {}, "source": [ "We will first train the model without the adaptive state transition." ] }, { "cell_type": "code", "execution_count": 7, "id": "f18ab849-3c05-418a-a30b-3928f77c332d", "metadata": {}, "outputs": [], "source": [ "# Define train loop\n", "@nnx.jit\n", "def train_step(model, optimizer, X_train, y_train):\n", "\n", " def loss_fn(model):\n", " residual = model(X_train) - y_train\n", " loss = jnp.mean((residual)**2)\n", "\n", " return loss\n", " \n", " loss, grads = nnx.value_and_grad(loss_fn)(model)\n", " optimizer.update(model, grads)\n", " \n", " return loss" ] }, { "cell_type": "markdown", "id": "15698049-2246-458a-9a0b-9e0c0c4c6485", "metadata": {}, "source": [ "We start training without performing the adaptive state transition technique and then plot the training losses and a final evaluation score to keep as reference." ] }, { "cell_type": "code", "execution_count": 8, "id": "b06282a5-8899-4801-9c9e-d8b73b55d74a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 0: Performing grid update\n", "Epoch 200: Performing grid update\n", "Epoch 400: Performing grid update\n", "Epoch 600: Performing grid update\n" ] } ], "source": [ "# Initialize train_losses\n", "num_epochs = 700\n", "train_losses = jnp.zeros((num_epochs,))\n", "\n", "for epoch in range(num_epochs):\n", " # Check if we're in an update epoch\n", " if epoch in grid_upds.keys():\n", " print(f\"Epoch {epoch}: Performing grid update\")\n", " # Get grid size\n", " G_new = grid_upds[epoch]\n", " # Perform the update\n", " model.update_grids(X_train, G_new)\n", " # Reset optimizer\n", " optimizer = nnx.Optimizer(model, opt_type, wrt=nnx.Param)\n", " \n", " # Calculate the loss\n", " loss = train_step(model, optimizer, X_train, y_train)\n", " \n", " # Append the loss\n", " train_losses = train_losses.at[epoch].set(loss)" ] }, { "cell_type": "markdown", "id": "394c9a28-c953-4b6d-a51d-f5f2ed6e518d", "metadata": {}, "source": [ "First, let's evaluate the model." ] }, { "cell_type": "code", "execution_count": 9, "id": "0859d7a3-bc75-4c0e-a0e2-c3477be29c34", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The MSE of the fit is 0.00201\n" ] } ], "source": [ "y_pred = model(X_test)\n", "mse = mean_squared_error(y_pred, y_test)\n", "\n", "print(f\"The MSE of the fit is {mse:.5f}\")" ] }, { "cell_type": "markdown", "id": "6cc57df4-7971-446e-a0e7-4fd1289381b5", "metadata": {}, "source": [ "Now, let's visualize the training loss during training." ] }, { "cell_type": "code", "execution_count": 10, "id": "86630d29-9b9f-452a-b2f1-399b02768829", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnEAAAGJCAYAAADlpGXRAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAnxhJREFUeJzsnXd8U3X3xz8ZTdIm3ZNSuoEuWigdgANHHYiouBCQ6VYefR4e5+NPFBw4HnlcVRRlqSwHiqIIKIoCFlpaZqGUUUpLF91p0zTJ/f0Rcmmae2lpm9yb9LxfL140Nzf3nn5y8u3J93vO+UoYhmFAEARBEARBOBVSoQ0gCIIgCIIgLh0K4giCIAiCIJwQCuIIgiAIgiCcEAriCIIgCIIgnBAK4giCIAiCIJwQCuIIgiAIgiCcEAriCIIgCIIgnBAK4giCIAiCIJwQCuIIgiAIgiCcEAriCIKwYubMmYiMjOzRa1966SVIJJK+NYggusDidzU1NUKbQhAOhYI4gnASJBJJt/79/vvvQpsqCDNnzoRGoxHajG7BMAw+//xzXHnllfDx8YGHhweGDRuGBQsWQKvVCm2eDZYgie9fRUWF0CYSRL9ELrQBBEF0j88//9zq8cqVK7Flyxab4/Hx8b26z5IlS2AymXr02v/7v//Ds88+26v7uzpGoxFTpkzBunXrcMUVV+Cll16Ch4cH/vzzT8yfPx9fffUVtm7diuDgYKFNteGjjz7iDJR9fHwcbwxBEBTEEYSzcO+991o9/vvvv7Flyxab451paWmBh4dHt+/j5ubWI/sAQC6XQy6nYeVivPnmm1i3bh2efPJJvPXWW+zxBx98EHfffTduu+02zJw5Ez///LND7eqOn9x5550ICAhwkEUEQXQFLacShAtx1VVXISkpCXl5ebjyyivh4eGB//znPwCA77//HuPHj0doaCiUSiViYmLw8ssvw2g0Wl2jc07cqVOnIJFI8N///heffPIJYmJioFQqkZ6ejj179li9lisnTiKRYM6cOfjuu++QlJQEpVKJxMREbNq0ycb+33//HWlpaVCpVIiJicHHH3/c53l2X331FUaOHAl3d3cEBATg3nvvRVlZmdU5FRUVmDVrFsLCwqBUKjFgwADceuutOHXqFHtObm4ubrjhBgQEBMDd3R1RUVGYPXv2Re/d2tqKt956C0OGDMHChQttnp8wYQJmzJiBTZs24e+//wYA3HzzzYiOjua83ujRo5GWlmZ17IsvvmB/Pz8/P9xzzz0oLS21OudiftIbfv/9d0gkEqxduxb/+c9/EBISArVajVtuucXGBqB77wUAHDlyBHfffTcCAwPh7u6OoUOH4vnnn7c5r76+HjNnzoSPjw+8vb0xa9YstLS0WJ2zZcsWXH755fDx8YFGo8HQoUP75HcnCCGgr8wE4WKcO3cO48aNwz333IN7772XXZZbvnw5NBoN5s6dC41Gg99++w3z5s1DY2Oj1YwQH6tWrUJTUxMeeughSCQSvPnmm7j99ttx4sSJLmfv/vrrL3z77bd49NFH4enpiffeew933HEHTp8+DX9/fwBAfn4+brzxRgwYMADz58+H0WjEggULEBgY2HtRzrN8+XLMmjUL6enpWLhwISorK/Huu+9ix44dyM/PZ5cF77jjDhw6dAj/+Mc/EBkZiaqqKmzZsgWnT59mH19//fUIDAzEs88+Cx8fH5w6dQrffvttlzrU1dXhiSee4J2xnD59OpYtW4Yff/wRo0aNwqRJkzB9+nTs2bMH6enp7HklJSX4+++/rd67V199FS+88ALuvvtu3H///aiursb777+PK6+80ur3A/j95GLU1tbaHJPL5TbLqa+++iokEgmeeeYZVFVV4Z133kFWVhYKCgrg7u4OoPvvxf79+3HFFVfAzc0NDz74ICIjI3H8+HH88MMPePXVV63ue/fddyMqKgoLFy7E3r178emnnyIoKAhvvPEGAODQoUO4+eabkZycjAULFkCpVKK4uBg7duzo8ncnCFHCEAThlDz22GNM54/w2LFjGQDM4sWLbc5vaWmxOfbQQw8xHh4ejE6nY4/NmDGDiYiIYB+fPHmSAcD4+/sztbW17PHvv/+eAcD88MMP7LEXX3zRxiYAjEKhYIqLi9lj+/btYwAw77//PntswoQJjIeHB1NWVsYeO3bsGCOXy22uycWMGTMYtVrN+7xer2eCgoKYpKQkprW1lT3+448/MgCYefPmMQzDMHV1dQwA5q233uK91vr16xkAzJ49e7q0qyPvvPMOA4BZv3497zm1tbUMAOb2229nGIZhGhoaGKVSyfz73/+2Ou/NN99kJBIJU1JSwjAMw5w6dYqRyWTMq6++anXegQMHGLlcbnX8Yn7CheV95fo3dOhQ9rxt27Yx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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(7, 4))\n", "\n", "plt.plot(np.array(train_losses), label='Train Loss', marker='o', color='#25599c', markersize=1)\n", "\n", "plt.xlabel('Epochs')\n", "plt.ylabel('Loss')\n", "plt.title('Training Loss Over Epochs')\n", "plt.yscale('log')\n", "\n", "plt.legend()\n", "plt.grid(True, which='both', linestyle='--', linewidth=0.5) \n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "9e76c49e-0b1f-4da9-83f2-53e6006dc07f", "metadata": {}, "source": [ "We notice abrupt peaks on the epochs during which we perform an extension of the grid." ] }, { "cell_type": "markdown", "id": "a7225036-ca72-4f4b-8e65-156044999d8d", "metadata": {}, "source": [ "### With Adaptive State Transition" ] }, { "cell_type": "markdown", "id": "fbc528b5-49fe-4dfd-a77b-fa8b5c6c3bcf", "metadata": {}, "source": [ "We will now repeat the process, but also incorporate the adaptive state transition technique using the `adam_transition` method from `jaxkan.layers.utils`." ] }, { "cell_type": "code", "execution_count": 11, "id": "815a1407-04e4-49a0-a3d5-ae8722a65e86", "metadata": {}, "outputs": [], "source": [ "# Re-initialize the model\n", "model = KAN(layer_dims = layer_dims,\n", " layer_type = 'base',\n", " required_parameters = req_params,\n", " seed = seed\n", " )\n", "\n", "# Re-initialize the optimizer\n", "optimizer = nnx.Optimizer(model, opt_type, wrt=nnx.Param)" ] }, { "cell_type": "code", "execution_count": 12, "id": "5c885ba9-f71c-4cdd-9a92-a228f4c7fd43", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 0: Performing grid update\n", "Epoch 200: Performing grid update\n", "Epoch 400: Performing grid update\n", "Epoch 600: Performing grid update\n" ] } ], "source": [ "# Initialize train_losses\n", "train_losses = jnp.zeros((num_epochs,))\n", "\n", "for epoch in range(num_epochs):\n", " # Check if we're in an update epoch\n", " if epoch in grid_upds.keys():\n", " print(f\"Epoch {epoch}: Performing grid update\")\n", " # Get grid size\n", " G_new = grid_upds[epoch]\n", " # Perform the update\n", " model.update_grids(X_train, G_new)\n", " # Instead of simply resetting the optimizer, we perform the update\n", " # -----------------------------------------------------------------\n", " # First, we get the new model's state\n", " _, model_state = nnx.split(model)\n", " # Then we pass the optimizer's state to the method\n", " old_state = optimizer.opt_state\n", " adam_transition(old_state, model_state)\n", " # -----------------------------------------------------------------\n", " \n", " # Calculate the loss\n", " loss = train_step(model, optimizer, X_train, y_train)\n", " \n", " # Append the loss\n", " train_losses = train_losses.at[epoch].set(loss)" ] }, { "cell_type": "markdown", "id": "140a3829-96a4-427b-8fcc-d7a44b53a3d8", "metadata": {}, "source": [ "Let's evaluate this version of the model." ] }, { "cell_type": "code", "execution_count": 13, "id": "6ae5b2a0-3283-4dac-80f3-0d4cd1d514ce", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The MSE of the fit is 0.00261\n" ] } ], "source": [ "y_pred = model(X_test)\n", "mse = mean_squared_error(y_pred, y_test)\n", "\n", "print(f\"The MSE of the fit is {mse:.5f}\")" ] }, { "cell_type": "markdown", "id": "d5e41243-477e-4bde-bfa0-3eb7206eef32", "metadata": {}, "source": [ "It appears that the final MSE is close to the corresponding MSE from the previous case.\n", "\n", "Let's also visualize the corresponding training loss curve." ] }, { "cell_type": "code", "execution_count": 14, "id": "71a170d2-a568-440f-86f5-d638dfa278fd", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnEAAAGJCAYAAADlpGXRAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAkFdJREFUeJzs3Xl8VNX9//HXzGTf94SQlSSQkJBAVnFfcF8q2kpxY7G1rrVfumlbFbTWVq21VaqtClituFXUuoOiVoVAQsIaCEsIISEb2cg6ycz9/ZFfroTcy5rJ3Ek+z8cjj4dz5+bOyTuH48m9ZzEpiqIghBBCCCFcitnZBRBCCCGEECdOOnFCCCGEEC5IOnFCCCGEEC5IOnFCCCGEEC5IOnFCCCGEEC5IOnFCCCGEEC5IOnFCCCGEEC5IOnFCCCGEEC5IOnFCCCGEEC5IOnFCiEHmzp1LQkLCSX3vwoULMZlMw1sgIY5hoN41NjY6uyhCjCjpxAnhIkwm03F9ffHFF84uqlPMnTsXPz8/ZxfjuCiKwssvv8zZZ59NUFAQPj4+TJkyhYceeoiOjg5nF2+IgU6S3ldtba2ziyjEmOTm7AIIIY7Pyy+/POj1v/71L1auXDnkeFpa2il9zvPPP4/dbj+p7/3d737Hvffee0qfP9rZbDauv/563njjDc466ywWLlyIj48P//vf/1i0aBFvvvkmq1atIjIy0tlFHeLZZ5/V7CgHBQWNfGGEENKJE8JV3HjjjYNer127lpUrVw45fqTOzk58fHyO+3Pc3d1PqnwAbm5uuLlJs3I0jz32GG+88Qa/+MUvePzxx9Xjt956K9dddx1XX301c+fO5aOPPhrRch1PPfn+979PWFjYCJVICHEs8jhViFHk3HPPJSMjg+LiYs4++2x8fHz4zW9+A8C7777L5ZdfTnR0NJ6eniQlJfHwww9js9kGXePIMXF79+7FZDLxxBNP8M9//pOkpCQ8PT3Jy8tj/fr1g75Xa0ycyWTirrvu4p133iEjIwNPT0/S09P5+OOPh5T/iy++IDc3Fy8vL5KSkvjHP/4x7OPs3nzzTXJycvD29iYsLIwbb7yR6urqQefU1tYyb948YmJi8PT0ZNy4cXzve99j79696jlFRUVcfPHFhIWF4e3tTWJiIvPnzz/qZ3d1dfH4448zceJEHn300SHvX3nllcyZM4ePP/6YtWvXAnDFFVcwYcIEzetNnz6d3NzcQcdeeeUV9ecLCQnhhz/8IVVVVYPOOVo9ORVffPEFJpOJ119/nd/85jdERUXh6+vLVVddNaQMcHy/C4Dt27dz3XXXER4ejre3N5MmTeK3v/3tkPNaWlqYO3cuQUFBBAYGMm/ePDo7Oweds3LlSs4880yCgoLw8/Nj0qRJw/KzC+EM8iezEKPMwYMHufTSS/nhD3/IjTfeqD6WW7ZsGX5+fixYsAA/Pz8+//xzHnjgAdra2gbdEdLz6quvcujQIX7yk59gMpl47LHHuOaaa9izZ88x7959/fXXvP3229xxxx34+/vzt7/9jWuvvZZ9+/YRGhoKQElJCZdccgnjxo1j0aJF2Gw2HnroIcLDw089lP9v2bJlzJs3j7y8PB599FHq6ur461//yjfffENJSYn6WPDaa69l69at3H333SQkJFBfX8/KlSvZt2+f+vqiiy4iPDyce++9l6CgIPbu3cvbb799zByam5u55557dO9Y3nzzzSxdupT333+f0047jVmzZnHzzTezfv168vLy1PMqKytZu3btoN/dI488wv333891113Hj370IxoaGnj66ac5++yzB/18oF9PjqapqWnIMTc3tyGPUx955BFMJhO//vWvqa+v56mnnmLGjBmUlpbi7e0NHP/vYtOmTZx11lm4u7tz6623kpCQwO7du/nvf//LI488Muhzr7vuOhITE3n00UfZsGEDL7zwAhEREfzpT38CYOvWrVxxxRVkZmby0EMP4enpya5du/jmm2+O+bMLYUiKEMIl3XnnncqR/4TPOeccBVCee+65Ied3dnYOOfaTn/xE8fHxUbq7u9Vjc+bMUeLj49XXFRUVCqCEhoYqTU1N6vF3331XAZT//ve/6rEHH3xwSJkAxcPDQ9m1a5d6bOPGjQqgPP300+qxK6+8UvHx8VGqq6vVYzt37lTc3NyGXFPLnDlzFF9fX933rVarEhERoWRkZChdXV3q8ffff18BlAceeEBRFEVpbm5WAOXxxx/XvdaKFSsUQFm/fv0xy3W4p556SgGUFStW6J7T1NSkAMo111yjKIqitLa2Kp6ensrPf/7zQec99thjislkUiorKxVFUZS9e/cqFotFeeSRRwadt3nzZsXNzW3Q8aPVEy0Dv1etr0mTJqnnrV69WgGU8ePHK21tberx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yspKVq1axY9+9CP1mJHrjHTinMTDw4OcnBw+++wz9Zjdbuezzz5j+vTpTiyZ8yQmJhIVFTUok7a2NgoLC9VMpk+fTktLC8XFxeo5n3/+OXa7nYKCghEv83BRFIW77rqLFStW8Pnnn5OYmDjo/ZycHNzd3Qdls2PHDvbt2zcom82bNw9qYFeuXElAQMCQhtvV2e12enp6xnQuF1xwAZs3b6a0tFT9ys3N5YYbblD/e6xmc6T29nZ2797NuHHjxnSdOeOMM4YsXVReXk58fDwwttvgAUuXLiUiIoLLL79cPWboOuOwKRPimF577TXF09NTWbZsmbJt2zbl1ltvVYKCggbNbhltDh06pJSUlCglJSUKoDz55JNKSUmJUllZqShK//T2oKAg5d1331U2bdqkfO9739Oc3j5t2jSlsLBQ+frrr5WUlBSXn95+++23K4GBgcoXX3wxaJp7Z2enes5tt92mxMXFKZ9//rlSVFSkTJ8+XZk+fbr6/sAU94suukgpLS1VPv74YyU8PNzll0W49957lS+//FKpqKhQNm3apNx7772KyWRSPv30U0VRxm4uWg6fnaooYzebn//858oXX3yhVFRUKN98840yY8YMJSwsTKmvr1cUZezmsm7dOsXNzU155JFHlJ07dyr//ve/FR8fH+WVV15RzxmrbbCi9K8QERcXp/z6178e8p5R64x04pzs6aefVuLi4hQPDw8lPz9fWbt2rbOL5FCrV69WgCFfc+bMURSlf4r7/fffr0RGRiqenp7KBRdcoOzYsWPQNQ4ePKjMnj1b8fPzUwICApR58+Yphw4dcsJPM3y0MgGUpUuXqud0dXUpd9xxhxIcHKz4+PgoM2fOVA4cODDoOnv37lUuvfRSxdvbWwkLC1N+/vOfK729vSP80wyv+fPnK/Hx8YqHh4cSHh6uXHDBBWoHTlHGbi5ajuzEjdVsZs2apYwbN07x8PBQxo8fr8yaNWvQWmhjNRdFUZT//ve/SkZGhuLp6amkpqYq//znPwe9P1bbYEVRlE8++UQBhvy8imLcOmNSFEVx3H0+IYQQQgjhCDImTgghhBDCBUknTgghhBDCBUknTgghhBDCBUknTgghhBDCBUknTgghhBDCBUknTgghhBDCBUknTgghhBDCBUknTgghhBDCBUknTgghnMhkMvHOO+84uxhCCBcknTghxJg1d+5cTCbTkK9LLrnE2UUTQohjcnN2AYQQwpkuueQSli5dOuiYp6enk0ojhBDHT+7ECSHGNE9PT6KiogZ9BQcHA/2POp999lkuvfRSvL29mTBhAm+99dag79+8eTPnn38+3t7ehIaGcuutt9Le3j7onCVLlpCeno6npyfjxo3jrrvuGvR+Y2MjM2fOxMfHh5SUFN577z31vebmZm644QbCw8Px9vYmJSVlSKdTCDE2SSdOCCGO4v777+faa69l48aN3HDDDfzwhz+krKwMgI6ODi6++GKCg4NZv349b775JqtWrRrUSXv22We58847ufXWW9m8eTPvvfceycnJgz5j0aJFXHfddWzatInLLruMG264gaamJvXzt23bxkcffURZWRnPPvssYWFhIxeAEMK4FCGEGKPmzJmjWCwWxdfXd9DXI488oiiKogDKbbfdNuh7CgoKlNtvv11RFEX55z//qQQHByvt7e3q+x988IFiNpuV2tpaRVEUJTo6Wvntb3+rWwZA+d3vfqe+bm9vVwDlo48+UhRFUa688kpl3rx5w/MDCyFGFRkTJ4QY08477zyeffbZQcdCQkLU/54+ffqg96ZPn05paSkAZWVlZGVl4evrq75/xhlnYLfb2bFjByaTiZqaGi644IKjliEzM1P9b19fXwICAqivrwfg9ttv59prr2XDhg1cdNFFXH311Zx++ukn9bMKIUYX6cQJIcY0X1/fIY83h4u3t/dxnefu7j7otclkwm63A3DppZdSWVnJhx9+yMqVK7ngggu48847eeKJJ4a9vEII1yJj4oQQ4ijWrl075HVaWhoAaWlpbNy4kY6ODvX9b775BrPZzKRJk/D39ychIYHPPvvslMoQHh7OnDlzeOWVV3jqqaf45z//eUrXE0KMDnInTggxpvX09FBbWzvomJubmzp54M033yQ3N5czzzyTf//736xbt44XX3wRgBtuuIEHH3yQOXPmsHDhQhoaGrj77ru56aabiIyMBGDhwoXcdtttREREcOmll3Lo0CG++eYb7r777uMq3wMPPEBOTg7p6en09PTw/vvvq51IIcTYJp04IcSY9vHHHzNu3LhBxyZNmsT27duB/pmjr732GnfccQfjxo1j+fLlTJ48GQAfHx8++eQT7rnnHvLy8vDx8eHaa6/lySefVK81Z84curu7+ctf/sIvfvELwsLC+P73v3/c5fPw8OC+++5j7969eHt7c9ZZZ/Haa68Nw08uhHB1JkVRFGcXQgghjMhkMrFixQquvvpqZxdFCCGGkDFxQgghhBAuSDpxQgghhBAuSMbECSGEDhltIoQwMrkTJ4QQQgjhgqQTJ4QQQgjhgqQTJ4QQQgjhgqQTJ4QQQgjhgqQTJ4QQQgjhgqQTJ4QQQgjhgqQTJ4QQQgjhgv7fRhtxo2AUjIJRMApGwSgYBUMQAAA5gP3zRVvX/AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(7, 4))\n", "\n", "plt.plot(np.array(train_losses), label='Train Loss', marker='o', color='#25599c', markersize=1)\n", "\n", "plt.xlabel('Epochs')\n", "plt.ylabel('Loss')\n", "plt.title('Training Loss Over Epochs')\n", "plt.yscale('log')\n", "\n", "plt.legend()\n", "plt.grid(True, which='both', linestyle='--', linewidth=0.5) \n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "304b1b5f-e09f-4211-94ec-81d39958beb4", "metadata": {}, "source": [ "Importantly, the spikes have disappeared.\n", "\n", "**NOTE**: This is an effect that is heavily dependent on the chosen grid sizes as well as the learning rate, so the adaptive update might not always work \"out of the box\" as in this case. In other cases, the user may also need to experiment with learning rate schedulers or different grid size configurations " ] }, { "cell_type": "code", "execution_count": null, "id": "af1efeb2-4127-4db8-8c31-ffd74d869850", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.12" } }, "nbformat": 4, "nbformat_minor": 5 }